/*
 * ServicoProjetoLocal.java
 *
 * Created on 19 de Setembro de 2007, 15:14
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package br.com.sgpa.servico;

import br.com.sgpa.dominio.Colaborador;
import br.com.sgpa.dominio.Projeto;
import br.com.sgpa.persistencia.DaoFactory;
import br.com.sgpa.persistencia.ProjetoDao;
import java.util.List;

/**
 *
 * @author agalrmo
 */
public class ServicoProjetoLocal implements ServicoProjeto {
    private DaoFactory fabricaDePersistencia = new DaoFactory();
    
    /** Creates a new instance of ServicoProjetoLocal */
    public ServicoProjetoLocal() {
    }
    
    public Projeto carregarProjeto(Projeto proj) {
        Projeto pap;
        ProjetoDao projetoDao;
        projetoDao = fabricaDePersistencia .criarDaoProjeto();
        pap = (Projeto) projetoDao.consultarPorId(proj.getId());
        return pap ;
    }
    
    
    public void criarProjeto(Projeto proj) {
        fabricaDePersistencia.beginTransaction();
        ProjetoDao projetoDao;
        projetoDao = fabricaDePersistencia.criarDaoProjeto();
        projetoDao.inserir(proj);
        fabricaDePersistencia.commit();
    }
    
    public void excluirProjeto(Projeto proj) {
        fabricaDePersistencia.beginTransaction();
        ProjetoDao projetoDao;
        projetoDao = fabricaDePersistencia.criarDaoProjeto();
        projetoDao.excluir(proj);
        fabricaDePersistencia.commit();
    }
    
    public void salvarProjeto(Projeto proj) {
        fabricaDePersistencia.beginTransaction();
        ProjetoDao projetoDao;
        projetoDao = fabricaDePersistencia.criarDaoProjeto();
        projetoDao.alterar(proj);
        fabricaDePersistencia.commit();
    }
    
    public List<Projeto> listarProjetoPorNome(String nome) {
        ProjetoDao projetoDao;
        projetoDao = fabricaDePersistencia.criarDaoProjeto();
        return projetoDao.listar(nome);
    }
    
    public List<Projeto> listarProjetoPorColaborador(Colaborador col) {
        ProjetoDao projetoDao;
        projetoDao = fabricaDePersistencia.criarDaoProjeto();
        return projetoDao.listar(col);
    }
    public List<Projeto> listarProjetoPorNome(Colaborador lider, String nome){
        ProjetoDao projetoDao;
        projetoDao = fabricaDePersistencia.criarDaoProjeto();
        return projetoDao.listar(lider,nome);
    }
}
